/**
 * 
 */
package tp1.model;

import java.util.ArrayList;
import java.util.List;

/**
 * @author david
 *
 */
public class Personaje extends Pieza {
	private int maxDistanciaArecorrer;
	private List<Esfera> esferasEnPoder;
	
	public Personaje(String nombre, Posicion posicion, int maximaDistancia) {
		this.setEsferasEnPoder(new ArrayList<Esfera>());
		this.setNombre(nombre);
		this.setPosicion(posicion);
		this.setMaxDistanciaArecorrer(maximaDistancia);
	}
	
	public Personaje(String nombre, int maximaDistancia) {
		this.setEsferasEnPoder(new ArrayList<Esfera>());
		this.setNombre(nombre);
		this.setMaxDistanciaArecorrer(maximaDistancia);
	}
	
	public void addEsfera(Esfera esfera) {
		this.getEsferasEnPoder().add(esfera);
	}
	
	public boolean puedeBuscar(Esfera esfera) {
		return this.getMaxDistanciaArecorrer() >= (int)this.getPosicion().getDistacia(esfera.getPosicion());
	}
	
	public void buscar(Esfera esfera, EsferasDelDragon modelo) {
		this.setPosicion(esfera.getPosicion());
		this.addEsfera(esfera);
		if(this.getEsferasEnPoder().size() == 7) {
			modelo.setConvocarAsehengLong("Sheng Long te permite un deseo, necesita ir al baño");
		}
	}
	
	public int getMaxDistanciaArecorrer() {
		return maxDistanciaArecorrer;
	}

	public void setMaxDistanciaArecorrer(int maxDistanciaArecorrer) {
		this.maxDistanciaArecorrer = maxDistanciaArecorrer;
	}

	public List<Esfera> getEsferasEnPoder() {
		return esferasEnPoder;
	}
	
	public void setEsferasEnPoder(List<Esfera> esferasEnPoder) {
		this.esferasEnPoder = esferasEnPoder;
	}
	
}
